for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
// Encoding documentation
// http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf
import Barcode from "../Barcode.js";
class pharmacode extends Barcode{
constructor(data, options){
super(data, options);
this.number = parseInt(data, 10);
}
encode(){
var z = this.number;
var result = "";
// http://i.imgur.com/RMm4UDJ.png
// (source: http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf, page: 34)
while(!isNaN(z) && z != 0){
if(z % 2 === 0){ // Even
result = "11100" + result;
z = (z - 2) / 2;
else{ // Odd
result = "100" + result;
z = (z - 1) / 2;
// Remove the two last zeroes
result = result.slice(0, -2);
return {
data: result,
text: this.text
};
valid(){
return this.number >= 3 && this.number <= 131070;
export {pharmacode};